Speed, accuracy, and portability have been recurrent and difficult to achieve goals for devices that scan, measure or otherwise collect data about 3D objects for purposes such as reproduction. With the advent of computers, such devices have useful application in many fields, such as digital imaging, computer animation, topography, reconstructive and plastic surgery, dentistry, architecture, industrial design, anthropology, biology, internal medicine, milling and object production, and other fields. These computer-aided systems obtain three-dimensional, contour, color and other information about an object and then transform it to a useful digitized form.
One type of available system applies optical techniques and uses the principles of geometric triangulation to obtain 3D data concerning an object. A triangulation system projects beams of light on an object and then determines 3D spatial locations for points where the light reflects from the object. Ordinarily, the reflected light bounces off the object at an angle relative to the light source. The system collects the reflection information from a location relative to the light source and then determines the coordinates of the point or points of reflection by applying principles of triangulation.
Some triangulation systems currently available either project a single beam of light or a single laser stripe to collect data. The single beam of light system (also known as a "laser dot" system) projects a beam of light which, when reflected, produces a single point of reflection. A laser stripe system (also known as a "scan line" system) projects a plane of light toward the object which projects on the object as a line and reflects from the light collection position as a curvilinear-shaped set of points describing one contour line of the object. Scan line systems typically employ a 2D imager, such as a charged coupled device (CCD) camera, to collect images of the contour information. When the light plane (i.e., a laser stripe) projects, the camera collects the reflection of multiple points depicting the contour of an object at a location that is at a distance from the laser source and at an angle relative to it. The triangulation technique uses the image of the contour points to determine a 3D location for each contour point and thereby collects data to describe and reproduce the object.
Scanning systems, such as those that collect 3D shape data by triangulation, have particular difficulty obtaining highly accurate three-dimensional data readings. As triangulation systems determine the 3D location of a point based on the relative locations of light source and image collector, it is important to determine their relative positions with high accuracy. The angle of the beam (or light plane) as it projects from the light source and reflects to the image collector is also important to the triangulation calculation and must be known with precision. If the relative positions of light source and image collector and the projection angle of the beam are not accurately determined, then the ultimate calculations of the 3D data points for the object will in turn suffer. Thus, it is important to carefully calibrate the relative distances between light source and image collector. It is further necessary to calibrate an angle position for the beam of light as it projects toward the object from the light source.
In addition, cameras present calibration problems when they are used as image collectors in scanning systems. A camera, such as a CCD camera, employs an optical lens system. Generally, the curvature of the lens distorts the images it collects in some manner. The image collected by the camera of the reflected light beam as it bounces from an object will not always describe its actual position. For example, towards the edge of the image there are distortions which bend and curve it. Without a calibration technique to correct for such distortions, the triangulation calculation simply incorporates the distortions to create inaccurate data readings for the points that describe the object's contour.
The use of a camera as image collector also presents a further difficulty in determining an accurate calibration of a value relative to the focal point of the lens. The focal point for a camera lens is a point on the axis of the lens at which all incident parallel light rays converge or appear to diverge. The focal point exists at a location that is a distance away from the principal part of the lens. Focal distance, also known as focal length, is that distance (typically expressed in millimeters) from the principal point of the lens to its focal point. The location of the focal point for light reflecting into the camera can play a part in some triangulation techniques and it is therefore important to determine such a location with high accuracy. By knowing the location of the focal point in relation to the location of the light collector or photocollector (e.g. CCD chip within the camera), the x, y location of a point on a collected 2D image can be used to determine 3D X,Y,Z location of the data point on the object.
However, to create an accurate point reading, it is necessary in some systems to accurately calibrate the focal point location and its relational distance to the photocollector. Generally, lens manufacturers calibrate a lens' focal distance, but those generic factory-determined values often do not provide the most accurate reading for any particular lens and camera configuration. In addition, when the system incorporates a zoom lens, focal distance must be determined for any zoom setting.
The difficulties inherent in precisely determining the initial settings and positions in triangulation systems have contributed to the inflexible solutions seen in some currently available systems--solutions that hamper general use and effectiveness. Some embodiments of the scan line-type system attach a CCD camera and laser light source to a rotating arm or a moving platform. During scanning, either the object moves on a known path relative to the camera and laser or the camera and laser, together, move around the object. Although such a system provides fixed and determinable positions between light source and image collector, such systems usually depend on a fixed rotational movement to collect data and typically use a bulky, mechanical system for high-precision positioning. Rescaling flexibility can be very limited in these systems, because of the mechanical positioning devices; e.g., a scanner designed for objects the size of a basketball may not be useful for scanning apple-sized objects. In addition, the scanning times for such systems are relatively slow, because mechanical positioning devices require time to move and position the camera and laser set up.
Some laser stripe triangulation systems currently available are further limited because the laser stripe stays at a fixed angle relative to the camera and the system makes its calculations based on the cylindrical coordinates of its rotating platform. The mathematical simplicity in such a projection system complicates the hardware portion of these devices as they typically depend on the bulky rotational platforms mentioned. Also, the simplified geometry does not generally allow for extremely refined reproduction of topologically nontrivial objects, such as objects with holes in them (e.g., a tea pot with a handle). Generally, full realization of triangulation scanning with a non-restrictive geometry has not been achieved. One aspect that has limited such flexible scanning is the creation of inflexible systems which need to "hardwire" the parameters used for triangulation, such as the relative positions between laser source and image collector.
The use of inflexible calibration techniques also places upper limits on scanning speed. The laser stripe triangulation systems which use a rotational platform are constrained by the speed at which the platform or arm can rotate the object without moving or shaking it. Some systems take 15 or so seconds to complete a 360.degree. scan. A target object, such as a person or an animal, may have difficulty staying still for such a scan time.
Another limitation of the fixed system is that the laser stripe triangulation systems typically can generate only one light stripe per camera image. As laser stripe triangulation systems generate a single laser stripe and project that stripe upon the object, the CCD camera captures an image of the stripe in a frame image--one laser stripe per CCD camera frame. Thus, the collection of laser information in some systems is subject to the speed limitations of the camera. Such systems create large amounts of extraneous data to process in the scanning process. A flexible calibration system allows for movement of beams of light, which has several advantages. Flexible scanning systems can generate multiple scan lines in a given frame image (which reduces the amount of information to process) and can maintain the camera in a stationary position while moving only the beam of light to scan the image (which frees it from hardware-intensive configurations).
Scanning systems which employ multiple cameras to perform fill scans of an object also can benefit from an accurate method of calibration. Such scanning systems attempt to collect shape information concerning the entire object--360.degree. around the object plus its top and bottom. Each of the multiple cameras in a full scanning system scans a part of the object and a computer pieces together the data for each of these parts to create a unified whole through a process such as a "gluing" algorithm.
One multiple camera scanning system (not using triangulation) uses stereoscopic means and employs several CCD cameras located at known distances from each other. The captured images are processed with a pattern recognition system which maps the various points of an object captured by the cameras, thereby obtaining the shape/contour information. One such advanced stereoscopic system uses 16 CCD cameras. This type of system must also project a special grid on an object to obtain reference points for gluing a complete 3D picture. A flexible calibration system would permit such a scanning solution without the use of a grid.
Scanning systems based on laser light and triangulation techniques have also been employed to create full scanning systems. Each camera in such a system should be calibrated to position it in reference to a laser for scanning. Each camera should also be calibrated to compensate for lens distortion and to locate a precise focal distance value. For gluing the scanned data pieces together to form a unified representation of the object, it is also useful to know the relative positions between each camera in the system.
Generally, the systems currently available do not provide any flexible and rapid means for calibrating positions in the multiple camera systems. The scanning systems available continue to use the inflexible technique of placing the cameras at fixed intervals, mounting the cameras on bulky platforms and tower apparatus to keep fixed the positional relationships.
Thus, for devices that scan, measure or otherwise collect data about an object, it would be a substantial advance if a system to calibrate could be created to enable a scanner to gather highly accurate data concerning a 3D object. It would also be an advance if the system and method could enable more flexible scanning systems to be developed, such as portable scanning systems. Employing such an advanced system of calibration, adjustable and portable scanning systems could calibrate both the position of the light source and camera at the time of scanning. A system for flexible calibration also enables the creation of full scanning systems with multiple cameras that do not depend on rigorous grids or fixed positioning methods.